<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // call(改变的对象 , 后面的参数都是给原函数的参数)

        // apply


        const obj1 = {
            name : 'cc' ,
            age : 18 ,
            say : function() {
                console.log(this);  // this -> obj1
                console.log(this.name);
            }
        } ;


        const obj2 = {
            name : 'yy' ,
            age : 38 ,
            say : function() {
                console.log(this.name);
            }
        } ;



        obj1.say() ;    // cc

        obj2.say() ;    // yy




        // call(改变的对象)  
        obj1.say.call(obj2) ;  // yy




        // function fn() {
        //     console.log(this);
        // }

        // fn()
        // fn.call(obj1);


        function fn(a , b) {
            console.log(this);
            console.log(a + b);
        }


        // fn(3);

        fn.call(obj1 , 3 , 4);

    </script>
    
</body>
</html>